#创建一个浏览器对象
import os
import sys
import datetime
from selenium import webdriver

from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service


#一个Driver类和两个构造函数

class Driver:
    driver = ""
    def __init__(self):
        options = webdriver.ChromeOptions()
        # self.driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
        self.driver = webdriver.Chrome(service=Service(executable_path="../chromedriver.exe"),options=options)

        #添加一个隐式等待，预防代码执行速度比页面渲染加载快，从而会报错
        self.driver.implicitly_wait(2)#声明周期是整个过程

    #截图函数
    def GetScreenShot(self):
        #首先在上一级路径创建一个文件夹，命名为：images+当天的年月日(两级便于维护查找)
        #创建之前先看一下文件夹是否存在
        driname  = datetime.datetime.now().strftime("%Y-%m-%d")
        if not os.path.exists("../images/"+driname):
            os.mkdir("../images/"+driname)
        #截图的图片名称要加上调用是哪个函数，方便出错检查
        filename = sys._getframe().f_back.f_code.co_name+"-"+datetime.datetime.now().strftime("%Y-%m-%d-%H%M%S")+".png"
        #利用驱动对象调用截图函数
        self.driver.save_screenshot("../images/"+driname+"/"+filename)


forum = Driver() #使用Driver类创建一个类驱动对象，其他函数想要使用这个驱动就得使用forum调用里面的驱动成员driver